As it is generally known, in the area of graphical user interfaces (GUIs), a tab display object is a small, typically rectangular box, often containing a text label, that is associated with some amount of corresponding user interface functionality and/or content. The functionality and/or content associated with a tab is sometimes referred to as one or more corresponding “widgets”. The term “widget” may refer to any part of a GUI that allows a user to interface with application and/or operating system programs or online content. Often, widgets display information and invite the user to perform one or more actions. Typical widgets include buttons, dialog boxes, pop-up windows, pull-down menus, icons, scroll bars, resizable window edges, progress indicators, selection boxes, windows, tear-off menus, menu bars, toggle switches, forms, and other GUI components and/or content.
When a tab is activated, for example by way of a mouse click or the like, a view pane displays the widget or widgets associated with the tab, which is then considered the currently active (or foreground) tab. In existing systems, multiple, horizontally arranged tabs allow a user to switch between different widgets. Generally, the currently active tab is visually highlighted in some way so that it appears to be in front of the other displayed tabs. Alternatively, the currently active tab is sometimes visually indicated by its color or size.
Any specific type of program may include a tabbed user interface. For example, many existing application programs include tabbed user interfaces. Tabs are also widely used in control panels and other setting dialogs, and some Web browsers enable users to switch between Web pages using corresponding tabs represented in the user interface.
A problem with existing systems arises from the fact that there is limited space available to display tabs. As a result, when the number of tabs becomes sufficiently high, a horizontal row of tabs may be truncated, such that not all tabs are viewed at once. Alternatively, several rows of tabs may be displayed, cutting down on the screen space available for other purposes. In at least one existing system, not all available tabs are shown at once, and instead a horizontal arrow is displayed which allows the user to view a listing of available tabs, and to select a tab to become the currently active tab. However, this solution does not allow the user with convenient access to any useful information except the names of the tabs that are available. In addition, no grouping of available tabs is provided, since only a simple listing of the tabs that are not shown is displayed.
For the above reasons and others, it would be desirable to have a new system for providing tabs in a graphical user interface. The new system should advantageously enable large numbers of available tabs to be conveniently accessed by the user, allow tabs to be organized into related groups, and make status and/or state information regarding widgets and/or other display objects or content associated with each tab in a group immediately viewable to the user.